<?php

abstract class Model_Cna {
	
    /* @var $_model Zend_Db_Table_Abstract */
    protected $_model;
    
    public function __construct() {
        
    }
	
	/**
	 * Fuerza valores null en lugar de cadenas vacias en un array. Esto es útil para construir
	 * instrucciones SQL que requieran null en campos integer o float.
	 * @param array $datos
	 * @return array Igual que el original pero con las cadenas vacias convertidas a null
	 */
	protected function forceEmptyAsNull(array $datos) {
	    foreach ($datos as $number_variable => $variable) {
	    	if(!is_integer($datos[$number_variable]) && $datos[$number_variable]=="") $datos[$number_variable]=null;
	    }
	    return $datos;
	}
	
	/**
	 * Asigna el modelo a ser utilizado por el servicio.
	 * @param Zend_Db_Table_Abstract $model
	 */
	public function setModel(Zend_Db_Table_Abstract $model) {
	    if(is_null($this->_model)) {
	        unset($this->_model);
	    }
		$this->_model = $model;
	}
	
	/**
	 * Obtiene el modelo registrado en el servicio
	 * @return Zend_Db_Table_Abstract
	 */
	public function getModel() {
		return $this->_model;
	}

}//fin de la clase